home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls085.solintel.Z / tls085.solintel / lib / vtcl / tests / acc.tcl next >
Encoding:
Text File  |  1995-07-20  |  2.6 KB  |  102 lines

  1. # CVS $Id: acc.tcl,v 1.1 1995/02/03 17:14:56 zibi Exp $
  2. #
  3. # a minimal test of the menubar and pulldown widgets
  4. #
  5. # use the object option allowDuplicateName to make separator with
  6. # identical names.
  7. #
  8. source "tools.tcl"
  9.  
  10. set menuList1 {
  11.     {pd File F}
  12.         {bt "New..." N "Ctrl<Key>N" "Ctrl+N" }
  13.         {bt  Exit    E "<Key>Escape" "Escape" QuitCB}
  14.     {pd Edit E}
  15.         {bt Cut   C "Ctrl<Key>X" "Ctrl+X" }
  16.         {bt Copy  o "Ctrl<Key>C" "Ctrl+C" }
  17.         {bt Paste P "<Key>F4" "F4" }
  18.     {sp}
  19.     {bt Delete D "<Key>Delete" Delete }
  20.     {pd View  V}
  21.         {bt Some  S "Alt<Key>S" "Alt+S" }
  22.         {bt Parts P "<Key>Prior" "Page Up"}
  23.     {pd Printer  P}
  24.         {bt "New Printer"  N "<Key>Next" "Page Down"}
  25.         {sp}
  26.         {tb "Good Printer" "" "" "" toggleChangedCB  0}
  27.         {tb "Bad Printer"  "" "" "" toggleChangedCB  1}
  28.         {tb "Ugly Printer" "" "" "" toggleChangedCB  0}
  29.     {pd Test  T}
  30.         {bt "Sensitive Target..." }
  31.         {bt "Make UnSensitive" "" "" "" "setSenCB 0" }
  32.         {bt "Make Sensitive"   "" "" "" "setSenCB 1" }
  33. }
  34.  
  35.  
  36. #------------------------------------------------------------
  37.  
  38. proc setSenCB {state cbs} {
  39.     set dlog [keylget cbs dialog]
  40.  
  41.     set button [VxMenuGetButton $dlog "Sensitive Target..."]
  42.     VtSetSensitive $button $state
  43. }
  44.  
  45. proc toggleChangedCB {cbs} {
  46.     set target [keylget cbs widget]
  47.     set dlog [keylget cbs dialog]
  48.  
  49.     set name [VtGetValues $target -label]
  50.     set tstate [VtGetValues $target -set]
  51.  
  52.     set label [VxGetVar $dlog label]
  53.  
  54.     VtSetValues $label -label "You toggled $name, it's set to <$tstate>"
  55. }
  56.  
  57. #
  58. # Set the label to the name of the menu item that 
  59. # got activated
  60. #
  61. proc genericCB {cbs} {
  62.     set target [keylget cbs widget]
  63.     set dlog   [keylget cbs dialog]
  64.     set label [VxGetVar $dlog label]
  65.  
  66.     set name [VtGetValues $target -label]
  67.  
  68.     VtSetValues $label -label "Menu Item Selected is : $name"
  69. }
  70. set fn [VtOpen testmenu]
  71. set dlog [VtFormDialog $fn.form -title "Menu Test"]
  72.  
  73. # Create the menu bar
  74. set menubar [VtMenuBar $dlog.mb -helpMenuItemList {ON_VERSION INDEX TUTORIAL} ]
  75. VxMenu $dlog $menubar $menuList1 "genericCB"
  76.  
  77. set form [VtForm $dlog.form -leftSide FORM -below $menubar]
  78.  
  79. set topLabel [VtLabel $form.topLabel \
  80.           -label "This top menu is an example of using the default help" \
  81.           -font medPlainFont]
  82.  
  83. set label  [VtLabel $form.label -label "No Callback Yet" \
  84.         -MOTIF_topOffset 10 \
  85.         -labelLeft \
  86.         -font largeBoldFont]
  87.  
  88.  
  89. VxSetVar $dlog label $label
  90.  
  91. set bottomLabel [VtLabel $form.bottomLabel \
  92.          -label "This doesn't do anything, test accelerators from here." \
  93.          -MOTIF_topOffset 30 \
  94.          -font medPlainFont]
  95.  
  96. set pb [VtText $dlog.pb]
  97.  
  98. VtShow $dlog
  99. VtMainLoop
  100.  
  101.  
  102.